using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("DamageSplatSpell")]
	public class DamageSplatSpell : Spell
	{
		public GameObject m_BloodSplat => method_3<GameObject>("m_BloodSplat");

		public GameObject m_HealSplat => method_3<GameObject>("m_HealSplat");

		public UberText m_DamageTextMesh => method_3<UberText>("m_DamageTextMesh");

		public GameObject m_activeSplat => method_3<GameObject>("m_activeSplat");

		public int m_damage => method_2<int>("m_damage");

		public static float SCALE_IN_TIME => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "DamageSplatSpell", "SCALE_IN_TIME");

		public DamageSplatSpell(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DamageSplatSpell(IntPtr address)
			: this(address, "DamageSplatSpell")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public float GetDamage()
		{
			return method_11<float>("GetDamage", Array.Empty<object>());
		}

		public void SetDamage(int damage)
		{
			method_8("SetDamage", damage);
		}

		public void DoSplatAnims()
		{
			method_8("DoSplatAnims");
		}

		public new void OnIdle(SpellStateType prevStateType)
		{
			method_8("OnIdle", prevStateType);
		}

		public new void OnAction(SpellStateType prevStateType)
		{
			method_8("OnAction", prevStateType);
		}

		public new void OnNone(SpellStateType prevStateType)
		{
			method_8("OnNone", prevStateType);
		}

		public new void ShowImpl()
		{
			method_8("ShowImpl");
		}

		public new void HideImpl()
		{
			method_8("HideImpl");
		}

		public void UpdateElements()
		{
			method_8("UpdateElements");
		}

		public void EnableAllRenderers(bool enabled)
		{
			method_8("EnableAllRenderers", enabled);
		}
	}
}
